﻿//文档就绪函数
$(function () {
    //select()
    //IngredientSelect()

    $("#WarehouseId").val("1")
    $("#LocationCoding").val("WZ891234567")
    $("#ReservoirName").val("号库区33")
    $("#BinLocationName").val("库位四")
    $("#IngredientId").val("1")
    $("#Specification").val("M10")
    $("#IngredientName").val("螺栓1")
    $("#Size").val("10mm")
    $("#Num").val("TE153643")
    $("#Unit").val("套")

    //自动生成时间
    generateDate()
});


var table = layui.table;
var dropdown = layui.dropdown;
var layer = layui.layer;
var form = layui.form;
var laypage = layui.laypage;


//仓库下拉框
function select() {
    //加载仓库下拉框
    $.ajax({
        url: "/Warehouse/GetWarehouseShow",
        type: "Get",
        data: {
            token: localStorage.getItem("token")
        },
        //dataType: 'json', // 如果服务器返回的是 JSON 字符串，请移除这一行；如果返回的是 JSON 对象，请保留
        success: function (response) {
            // 如果服务器已经返回了 JSON 对象，则不需要再次解析
            var data = JSON.parse(response); // 请移除这一行，如果 response 已经是 JSON 对象
            //console.log(data.data);

            var options = '<option value="">请选择</option>'; // 添加默认选项
            $.each(data.data.list, function (index, item) {
                // 使用正确的参数：index（索引）和 item（当前元素）
                options += '<option value="' + item.warehouseId + '">' + item.warehouseNo + '</option>';
            });

            $("#WarehouseId").html(options); // 设置下拉框的选项
            form.render(); // 重新渲染下拉框（确保 layui.form 已经被正确加载）
        },
        error: function (jqXHR, textStatus, errorThrown) {
            console.log("获取数据失败: " + textStatus, errorThrown);
            // 可以考虑显示一个错误消息给用户，例如使用 layui 的 layer 模块
            // layer.msg('获取仓库列表失败，请稍后再试'); // 确保 layer 已经被加载和初始化
        }
    });
}

//原料下拉框
function IngredientSelect() {
    //加载原料下拉框
    $.ajax({
        url: "/Ingredient/IngredientShow",
        type: "Get",
        data: {
            token: localStorage.getItem("token")
        },
        //dataType: 'json', // 如果服务器返回的是 JSON 字符串，请移除这一行；如果返回的是 JSON 对象，请保留
        success: function (response) {
            // 如果服务器已经返回了 JSON 对象，则不需要再次解析
            var data = JSON.parse(response); // 请移除这一行，如果 response 已经是 JSON 对象
            //console.log(data.data);

            var options = '<option value="">请选择</option>'; // 添加默认选项
            $.each(data.data.list, function (index, item) {
                // 使用正确的参数：index（索引）和 item（当前元素）
                options += '<option value="' + item.ingredientId + '">' + item.ingredientnumber + '</option>';
            });

            $("#IngredientId").html(options); // 设置下拉框的选项
            form.render(); // 重新渲染下拉框（确保 layui.form 已经被正确加载）
        },
        error: function (jqXHR, textStatus, errorThrown) {
            console.log("获取数据失败: " + textStatus, errorThrown);
            // 可以考虑显示一个错误消息给用户，例如使用 layui 的 layer 模块
            // layer.msg('获取仓库列表失败，请稍后再试'); // 确保 layer 已经被加载和初始化
        }
    });
}


// 监听仓库下拉框的变化
$("#WarehouseId").on('change', function () {
    ReFillData();
});

//根据仓库编号反填数据
function ReFillData() {
    $.ajax({
        url: '/Warehouse/ReverseByWarehouse',
        type: 'Get',
        data: {
            token: localStorage.getItem("token"),
            WarehouseId: $("#WarehouseId").val() // 修正为正确的 ID 选择器
        },
        success: function (data) {
            console.log(data);
            // 假设后端返回的是 JSON 对象，且结构为 { data: { ... } }
            // 这里不需要再次 JSON.parse(data)，因为 jQuery 已经处理了 JSON 响应
            $("#LocationCoding").val(data.data.list[0].locationCoding);
            $("#ReservoirName").val(data.data.reservoirName);
            $("#BinLocationName").val(data.data.binLocationName);
        },
        error: function (jqXHR, textStatus, errorThrown) {
            console.log("获取数据失败: " + textStatus, errorThrown);
            layer.msg('反填数据失败，请稍后再试'); // 显示错误消息
        }
    });
}


//根据原料编号反填数据
function ReFillIngredientData() {
    $.ajax({
        url: '/Ingredient/IngredientFanDo',
        type: 'Get',
        data: {
            token: localStorage.getItem("token"),
            IngredientId: $("#IngredientId").val() // 修正为正确的 ID 选择器
        },
        success: function (data) {
            console.log(data);
            var res = JSON.parse(res)
            console.log(res)
            // 假设后端返回的是 JSON 对象，且结构为 { data: { ... } }
            // 这里不需要再次 JSON.parse(data)，因为 jQuery 已经处理了 JSON 响应
           
        },
        error: function (jqXHR, textStatus, errorThrown) {
            console.log("获取数据失败: " + textStatus, errorThrown);
            layer.msg('反填数据失败，请稍后再试'); // 显示错误消息
        }
    });
}


//添加调拨数据
layui.use(['layer', 'form',], function () {
    var layer = layui.layer;
    var $ = layui.jquery;
    var form = layui.form;
    var token = localStorage.getItem("token");
    //监听提交
    form.on('submit(formDemo)', function (data) {
        var field = data.field; //获取提交的字段
        console.log(field);
        var dto = {
            AllocateNumber: field.AllocateNumber,
            AllocateDate: field.AllocateDate,
            AllocateNum: field.AllocateNum,
            AllocatePerson: field.AllocatePerson,
            AllocateReason: field.AllocateReason,
            Notes: field.Notes,
            Associate: field.Associate,
            Transport: field.Transport,
            Reviewer: "张三",
            WarehouseId: "1",
            IngredientId: "1",
            sub: "5",
            sid: "1859805972751585280",
            jti: "2bc5558f-dea4-4030-86bb-f08b64595af3",
            CreatedBy: "5"
        }
        $.ajax({
            url: '../Allocate/AddAllocateInfo',
            type: 'Post',
            headers: {
                "Authorization": token
            },
            data: {
                dto: dto
            },
            success: function (res) {
                console.log(res);
                var response = JSON.parse(res);
                if (response.code === 1) {
                    layer.alert("添加成功");
                    setTimeout(function () {
                        location.reload();
                    }, 2000);
                } else {
                    layer.msg('添加失败：' + response.message, { icon: 2 });
                }
            }
        });
    });
    return false; // 阻止表单默认提交行为
});

//自动生成时间
function generateDate() {
    var n = new Date();
    var ss = "DB" + n.getFullYear() + (n.getMonth() + 1).toString().padStart(2, '0') +
        n.getDate().toString().padStart(2, '0') +
        n.getHours().toString().padStart(2, '0') +
        n.getMinutes().toString().padStart(2, '0') +
        n.getSeconds().toString().padStart(2, '0');
    $("#AllocateNumber").val(ss);
}
